package secondStage.part3.Set.HashSet集合存储遍历;

import java.util.HashSet;

/**
 * @ClassName: [HashSetTest]
 * @Description: HashSet集合存储学生对象并遍历
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-03]
 * @Version: [v1.0]
 */
/*
案例:HashSet集合存储学生对象并遍历
需求:创建一个存储学生对象的集合。存储多个学生对象，使用程序实现在控制台遍历该集合
要求:学生对象的成员变量值相同。我们就认为是同一个对象
思路:
    定义学生类
    创建HashSet集合对象
    创建学生对象
    把学生添加于到集合
    遍历集合(增强for)
    在学生类中重写两个方法hashCode()和equals(),自动生成即可
*/
public class HashSetTest {
    public static void main(String[] args) {
        //创建HashSet对象
        HashSet<Student> hs = new HashSet<Student>();
        //创建学生对象
        Student s1 = new Student("黄铜", 12);
        Student s2 = new Student("迎江", 22);
        Student s3 = new Student("常见", 16);

        //重写equals()和hashCode()方法，不能添加第四个学生，保证唯一性，需要重写hashCode()方法
        Student s4 = new Student("常见", 16);

        hs.add(s1);
        hs.add(s2);
        hs.add(s3);
        hs.add(s4);
        //遍历集合
        for (Student s : hs) {
            System.out.println(s.getName() + "," + s.getAge());
        }
    }
}
